#pragma once
#include <vector>
#include "Object.h"

struct LaserBeam
{
	Point Begin;
	Point End;
	Point Direction;
};

class Projectile : public InteractiveObject
{
private:
	float Speed;
	Point Direction;
	
public:
	int power;
	void Initialise(char* initFile,Point startPosition,Point direction);
	void SetPosition(Point newPosition,Point newDirection);
	void Display();
	bool Move();
};

class Weapon
{
private:
	int reloadTime;
	int counter;
	Point AimDirection;	
	Projectile templateProjectile;
public:
	std::vector<Projectile> projectiles;
	void Display();
	void Initialise();
	void Fire(Point startPosition,Point direction);
};
